/**
 * 百炼客户端适配器
 * 根据配置选择使用原始的百炼 API 客户端或 OpenAI 客户端
 */
const { getConfig } = require('./config-manager');
const originalClient = require('./bailian-api');
const openaiClient = require('./bailian-openai-client');

/**
 * 获取百炼客户端
 * @returns {Object} 百炼客户端
 */
function getBailianClient() {
  const config = getConfig();

  // 根据配置选择使用哪个客户端
  if (config.use_openai_client) {
    console.log('Using OpenAI client for Bailian API');
    return openaiClient;
  } else {
    console.log('Using original client for Bailian API');
    return originalClient;
  }
}

// 导出客户端方法
const client = getBailianClient();

module.exports = {
  // 导出客户端方法
  generateCompletion: client.generateCompletion,
  generateChat: client.generateChat,
  analyzeImage: client.analyzeImage,
  imageToBase64: client.imageToBase64,

  // 导出 getBailianClient 函数，供其他模块使用
  getBailianClient,

  // 导出客户端对象，方便直接使用
  client
};
